//14. 最长公共前缀
//思路：对字符串数组排序，字符串数组的排序是按照ASCII码大小来排序的，sort会将小的排在前面
//排序后的字符串数组首个字符串与最后一个字符串的每一位去比较，
//如果第i位不同就说明各个字符串的[0, i)范围的字符都是相同的，
//此时我们用字符串范围[0, i)构造的匿名对象返回即可


#include <vector>
#include <string>
#include <algorithm>
using namespace std;

class Solution
{
public:
    string longestCommonPrefix(vector<string>& strs)
    {
        if(strs.empty()) return "";
        sort(strs.begin(), strs.end());

        string s = strs.front(), e = strs.back();
        int i, n = s.size();
        for(i=0; i<n && s[i]==e[i]; i++);

        return string(s, 0, i);
    }
};